The development of computerized distribution information systems, such as the Internet, allows users to link with servers and networks, and thus retrieve vast amounts of electronic information that was previously unavailable using conventional electronic mediums. Such electronic information increasingly is replacing the more conventional means of information such as newspapers, magazines and television.
Users may be linked to the Internet through a protocol commonly referred to as the World Wide Web (WWW). With the World Wide Web, an entity having a domain name may create a “web page” or “page” that can provide information and to a limited degree some interactivity.
A computer user may “browse”, i.e., navigate around, the WWW by utilizing a suitable web browser, e.g., Netscape™, Internet Explorer™, and a network gateway, e.g., Internet Service Provider (ISP). A web browser allows the user to specify or search for a web page on the WWW and subsequently retrieve and display web pages on the user's computer screen. Such web browsers are typically installed on personal computers or workstations to provide web client services, but increasingly may be found on wireless devices such as cell phones.
The Internet is based upon a suite of communication protocols known as Transmission Control Protocol/Internet Protocol (TCP/IP) which sends packets of data between a host machine, e.g., server computer on the Internet commonly referred to as web server, and a client machine, e.g., a user's computer connected to the Internet. The WWW is an Internet interface protocol which is supported by the same TCP/IP transmission protocol.
A web page may typically include presentation components, e.g., navigational menus, pop-up windows/menus, charts, graphs, of visual images (static and dynamic), video and/or text. Static images, video and/or text may be specified in various languages or protocols such as Hyper-Text Mark-up Language (HTML), Extensible Hyper-Text Mark-up Language (XHTML), Dynamic Hyper-Text Mark-up Language (DHTML), JavaScript, Cascading Style Sheets (CSS), Scalable Vector Graphics (SVG), Document Object Model (DOM), Extensible Stylesheet Language (XSL), Extensible Mark-up Language (XML) and Synchronized Multimedia Integration Language (SMIL).
For example, images, video and/or text may be specified in a HTML file that is sent from the web server to the client machine. (Web client is typically used to refer to the software on a data processing system that receives and processes web pages to render them perceivable by a human user of the system. For simplicity of nomenclature, for the present purpose, web client will be used herein to interchangeably refer to the software and the human user of the system on which the client software is deployed.) The HTML file may then be parsed by the web browser in order to display the text and images on the display of the client machine. Additional functionality may be provided in web pages with information downloaded over the WWW in the form of scripts. Scripting, typically in the form of JavaScript, allows a series of instructions to be performed on the client computer once the instructions have been downloaded in a web page. Further functionality may be provided in web pages by dynamic web pages. Dynamic pages include information that may change because the information content therein changes over time, or because the information is specific to the particular web client. Examples of the former may include weather forecast information conveyed in a web page, or stock ticker information provided to a web client. Examples of the latter may include “on-line” account information related to the web client such as information associated with the client's account at a financial institution, securities brokerage account, or an account with an e-commerce retailer.
Dynamic web pages may be implemented using a multiplicity of technologies. One such is Dynamic Hypertext Markup Language (DHTML), which is a set of features currently incorporated in browsers, e.g., Internet Explorer™ and Netscape Navigator™ that enables software developers to dynamically change the rendering and content of an HTML document. Using DHTML, a software developer may access attributes of a document's contents or objects, e.g., access object's position on the page and type. Another technology is Java Server Pages (JSP). JSPs typically include HTML to render static portions of the web page with embedded Java code to implement dynamic parts of the page, which may also render portions of the page that are generated by actions on dynamic data in accordance with the transaction requested by the web client.
The dynamic data used in generating the page may be derived from a multiplicity of sources. The data may be retrieved from a database entry in a database in which the entry corresponds to information related to the web client. The data stored in the database may have been previously supplied by the client. Or the data may have been provided by the client in the web page request. Additionally, the data used to generate the page may be a combination of both.
The data may be subject to errors introduced from several sources. Hardware errors in the database may corrupt the data. The web client may make entry errors, and network errors may corrupt web client supplied data during transmission to the server. Additionally, the database may be managed by a database management system (DBMS). Software errors introduced in the database management system (DBMS) may also produce errors in the data in the database.
If the dynamic data is corrupted, a web page error may result when the server generates the page. For example, the methods performing actions on the data to generate the page may expect data within particular ranges, or in particular formats, and the corrupted data will result in a runtime error when the server attempts to generate the page, resulting in an error message displayed on the web client's system. Consequently, there is a need in the art for monitoring the generation of dynamic web pages to detect generation errors due to corrupted data.